import request from "../../utils/request"
// pages/index/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    bannerList:[],
    personalized:[],
    playLists:[]
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 发起轮播图的请求
    this.getBannerList()
    // 发起推荐歌曲的请求
    this.getPersonalized()
    // 发起排行榜数据的请求
    this.getTopList()
  },
  // 获取轮播图数据
  async getBannerList(){
    const re =await request("/banner",{type:1},"GET")
    // console.log(re);
    this.setData({
      bannerList : re.banners
    })
  },
  // 获取推荐歌曲的数据
  async getPersonalized(){
    const re =await request("/personalized",{limit:8},"GET")
    // console.log(re);
    this.setData({
      personalized:re.result
    })
  },
  // 获取排行榜数据
  async getTopList(){
    // 每次请求的结果可以发现,这个数据是单个的排行榜数据,想要获取完整的数据,需要循环遍历请求
    // const re = await request("/top/list",{idx:8},"GET")
    // console.log(re);
    // 设置一个空数组,将每次请求的数据放入这个数组中
    const list = [];
    // 设置循环遍历的index变量数据,初始值为0
    let index = 0;
    // 设置while循环,循环条件设置为5次以内
    while(index<5){
      // 发起单次的数据请求
      const re = await request("/top/list",{idx:index++},"GET")
      // 设置变量接收我们需要每一条的playList数据
      const playList = {
        // 获取需要的name属性数据
        name : re.playlist.name,
        // 获取我们需要的每一个排行榜的前三条数据
        playlist: re.playlist.tracks.slice(0,3),
        // 获取id数据
        id : re.playlist.id
      }
      // 将获取的每一条排行榜的数据,放入到list空数组中
      list.push(playList)
    }
    // 将获取的排行榜组成的数组数据赋值给data中的playLists,然后渲染页面
    this.setData({
      playLists: list
    })
    // console.log(list);
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})